<?php
header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:*');
// 响应头设置
header('Access-Control-Allow-Headers:*');
// 导入公共函数
require_once(dirname(__FILE__).'/libs/common.php');
if (isset($_GET['c'])) {
    // 控制器: 首字母转大写, 防止linux下报错
    $c = ucfirst($_GET['c']);
} else {
    $c = 'Index';
}
if (isset($_GET['a'])) {
    // 方法: 方法名统一小写
    $a = strtolower($_GET['a']);
} else {
    $a = 'index';
}
// 魔术方法, 自动加载需要实例化的类
function __autoload($classname)
{
    $classpath = dirname(__FILE__) . "/controller/" . strtolower($classname) . '.class.php';
    if (file_exists($classpath)) {
        require($classpath);
    } else {
        $output = ['errcode' => 1, 'msg' => 'class is not exists'];
        echo json_encode($output);
        die;
    }
}

// 手动注册自动加载函数: php-7.0写法
// spl_autoload_register('autoload');
// 检测控制器类是否存在

if (class_exists($c)) {
    // 创建控制器实例对象
    $obj=new $c();
} else {

    $output = ['errcode' => 1, 'msg' => 'class is not exists'];
    echo json_encode($output);
}

// 检查action方法是否存在
if (method_exists($c, $a)) {
    $obj->$a();
} else {
    $output = ['errcode' => 1, 'msg' => 'method is not exists'];
    echo json_encode($output);
}
?>